package com.xt.purchasingsystem.service.productionManagementService;


import com.xt.purchasingsystem.dto.InternalDto;
import com.xt.purchasingsystem.dto.SubmitRegisterDto;
import com.xt.purchasingsystem.utils.Result;

public interface InternalpromanagementService {
    /**
     * 查询所有生产登记
     * @param internalDto
     * @return
     */
    public Result getAllMManufacture(InternalDto internalDto);

    /**
     * 查询所有审核未通过的方法
     * @param internalDto
     * @return
     */
    public Result getAllCheckNoMManufacture(InternalDto internalDto);

    /*
     * 审核通过的方法
     * @param productId
     * @return
     */
    Result updateCheckTag(String productId);

    /**
     * 分页获取所有可以生产登记的派工单的业务
     * @param currNo
     * @param pageSize
     * @return
     */
    Result queryAllproductionRegistrationByPage(Integer currNo, Integer pageSize);

    /**
     *
     * @param id
     * @param type
     * @return
     */
    Result getAllMProcedureAndModulesById(Integer id, String type);

    /**
     *
     * @param submitRegisterDto
     * @return
     */
    Result submitRegister(SubmitRegisterDto submitRegisterDto);

    /**
     *
     * @param currNo
     * @param pageSize
     * @return
     */
    Result queryAllNotCheckProductionRegistrationByPage(Integer currNo, Integer pageSize);

    /**
     *
     * @param submitRegisterDto
     * @return
     */
    Result check(SubmitRegisterDto submitRegisterDto);

    /**
     *
     * @param mmanufactureId
     * @param mProcedureId
     * @param realAmount
     * @return
     */
    Result transferRegister(Integer mmanufactureId, Integer mProcedureId, Double realAmount);

    /**
     *
     * @param mProcedureId
     * @return
     */
    Result getRealAmount(Integer mProcedureId);

    /**
     *
     * @param mmanufactureId
     * @param mProcedureId
     * @param realAmount
     * @return
     */
    Result transferAudit(Integer mmanufactureId, Integer mProcedureId, Double realAmount);

}
